package com.zc.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.zc.iotDevice.domain.ChargeStationPort;
import com.zc.manager.device.domain.IotDevice;
import com.zc.operator.domain.ChargeStationAdjustPriceAdditional;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 设备附属
 * @author glb
 * @date 2023-12-20
 */
public class IotDeviceAssociation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long id;

    /** 设备ID */
    private String deviceId;

    @Excel(name = "设备名称")
    private String deviceName;

    @Excel(name = "桩名称")
    private String pileName;

    /** 设备品牌 */
    @Excel(name = "设备品牌")
    private String brand;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 交直流类型 ;1-直流;2-交流;2-交直流*/
    private String terminalType;

    @Excel(name = "交直流类型")
    private String terminalTypeName;

    /** 设备容量 */
    @Excel(name = "设备容量")
    private BigDecimal capacity;

    /** 额定功率 */
    @Excel(name = "额定功率")
    private BigDecimal ratedPower;

    /** 设备类型 */
    private String deviceType;

    @Excel(name = "设备类型")
    private String deviceTypeName;

    /** 价格类型编码 */
    private String priceTypeCode;

    /** 价格类型ID */
    private Long priceTypeId;

    /** 运营商 */
    private Long operatorId;

    /** 运营商 */
    @Excel(name = "运营商")
    private String operatorName;

    /** 运营商站点 */
    private Long stationId;

    /** 运营商站点 */
    private String stationCode;

    /** 运营商站点 */
    @Excel(name = "站点")
    private String stationName;

    /** 服务费 */
    @Excel(name = "服务费")
    private BigDecimal serviceFee;

    /** 电费 */
    @Excel(name = "电费")
    private BigDecimal electricCharge;

    /** 安装日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installTime;

    /** 使用状态;1-空闲;2-使用 */
    private String useState;

    /** 电价区间开始时间 */
    private String startTime;

    /** 电价区间结束时间 */
    private String endTime;

    /** 设备价格详情 */
    private List<ChargeStationAdjustPriceAdditional> priceList;

    /** 客户openid */
    private String customCode;

    /**废弃*/
    private List<IotDevice> portList;

    private List<ChargeStationPort> chargeStationPortList;

    /** 选中的充电枪ID */
    private String choosePortId;

    private String serviceStatus;

    private String status;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getPileName() {
        return pileName;
    }

    public void setPileName(String pileName) {
        this.pileName = pileName;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTerminalType() {
        return terminalType;
    }

    public void setTerminalType(String terminalType) {
        this.terminalType = terminalType;
    }

    public String getTerminalTypeName() {
        return terminalTypeName;
    }

    public void setTerminalTypeName(String terminalTypeName) {
        this.terminalTypeName = terminalTypeName;
    }

    public BigDecimal getCapacity() {
        return capacity;
    }

    public void setCapacity(BigDecimal capacity) {
        this.capacity = capacity;
    }

    public BigDecimal getRatedPower() {
        return ratedPower;
    }

    public void setRatedPower(BigDecimal ratedPower) {
        this.ratedPower = ratedPower;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getDeviceTypeName() {
        return deviceTypeName;
    }

    public void setDeviceTypeName(String deviceTypeName) {
        this.deviceTypeName = deviceTypeName;
    }

    public String getPriceTypeCode() {
        return priceTypeCode;
    }

    public void setPriceTypeCode(String priceTypeCode) {
        this.priceTypeCode = priceTypeCode;
    }

    public Long getPriceTypeId() {
        return priceTypeId;
    }

    public void setPriceTypeId(Long priceTypeId) {
        this.priceTypeId = priceTypeId;
    }

    public Long getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Long operatorId) {
        this.operatorId = operatorId;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public String getStationCode() {
        return stationCode;
    }

    public void setStationCode(String stationCode) {
        this.stationCode = stationCode;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public BigDecimal getServiceFee() {
        return serviceFee;
    }

    public void setServiceFee(BigDecimal serviceFee) {
        this.serviceFee = serviceFee;
    }

    public BigDecimal getElectricCharge() {
        return electricCharge;
    }

    public void setElectricCharge(BigDecimal electricCharge) {
        this.electricCharge = electricCharge;
    }

    public Date getInstallTime() {
        return installTime;
    }

    public void setInstallTime(Date installTime) {
        this.installTime = installTime;
    }

    public String getUseState() {
        return useState;
    }

    public void setUseState(String useState) {
        this.useState = useState;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public List<ChargeStationAdjustPriceAdditional> getPriceList() {
        return priceList;
    }

    public void setPriceList(List<ChargeStationAdjustPriceAdditional> priceList) {
        this.priceList = priceList;
    }

    public String getCustomCode() {
        return customCode;
    }

    public void setCustomCode(String customCode) {
        this.customCode = customCode;
    }

    public List<IotDevice> getPortList() {
        return portList;
    }

    public void setPortList(List<IotDevice> portList) {
        this.portList = portList;
    }

    public String getChoosePortId() {
        return choosePortId;
    }

    public void setChoosePortId(String choosePortId) {
        this.choosePortId = choosePortId;
    }

    public List<ChargeStationPort> getChargeStationPortList() {
        return chargeStationPortList;
    }

    public void setChargeStationPortList(List<ChargeStationPort> chargeStationPortList) {
        this.chargeStationPortList = chargeStationPortList;
    }

    public String getServiceStatus() {
        return serviceStatus;
    }

    public void setServiceStatus(String serviceStatus) {
        this.serviceStatus = serviceStatus;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}
